草庐IT

javascript - 在 JavaScript 中检查数字素数

全部标签

Ruby 固定数字大十进制舍入

我想用ruby​​对BigDecimal进行舍入。我知道我可以使用round函数但是轮函数给出(3.2).round(2)=>3.2我要(3.2).round(2)=>3.20(3.20).round(2)=>3.20(3).round(2)=>3.00(3.578).round(2)=>3.58我总是希望有2位小数,3.20而不是3.2知道如何完成这项工作吗? 最佳答案 试试这个:'%.2f'%3.2=>"3.20"'%.2f'%3=>"3.00"'%.2f'%3.578=>"3.58"etc.

ruby - 从字符串中删除所有非字母、非数字字符?

如果我想删除像这样的东西:.!,'"^-#来自一个字符串数组,我将如何在保留所有字母和数字字符的同时解决这个问题。允许的字母字符还应包括带有变音符号(包括à或ç)的字母。 最佳答案 您应该使用具有正确字符属性的正则表达式。在这种情况下,您可以反转Alnum类(字母和数字字符):"◊¡Marc-André!◊".gsub(/\p{^Alnum}/,'')#=>"MarcAndré"对于更复杂的情况,假设您还需要标点符号,您还可以构建一组可接受的字符,例如:"◊¡Marc-André!◊".gsub(/[^\p{Alnum}\p{Pun

ruby - 来自 rails 3 中 therubyracer/v8 的 javascript 错误的堆栈跟踪

我正在使用therubyracer和v8在Rails3应用程序中运行一些javascript如果出现任何问题,错误消息将通过通常的Rails3异常通知流程通过电子邮件发送给我。但是,我返回的错误消息非常模糊,堆栈跟踪不会进入javascript文件本身。这是可以理解的,但是很难调试。这是一个例子:V8::JSError:Cannotreadproperty'0'ofundefinedbacktrace:lib/libraryname.rb:32:in`function_that_calls_v8'lib/libraryname.rb:18:in`fetch_and_update'app

ruby - 为什么数字不支持 .dup?

>>a=5=>5>>b="hello,world!"=>"hello,world!">>b.dup=>"hello,world!">>a.dupTypeError:can'tdupFixnumfrom(irb):4:in`dup'from(irb):4我知道每次您将整数分配给新变量时Ruby都会复制一份,但为什么Numeric#dup会引发错误?这不会破坏抽象,因为所有对象都应该正确响应.dup吗?据我所知,重写dup方法将解决问题:>>classNumeric>>defdup()>>self>>end>>end这是否有我没有看到的缺点?为什么不将其内置到Ruby中?

ruby - 如何在 Ruby 中检查参数 "param[:some_value]"

我知道一些检查参数是否为零的方法ifparam[:some_value]ifparam[:some_value].present?if!param[:some_value].nil?#unlessparam[:some_value].nil?if!param[:some_value].blank?#unlessparam[:some_value].blank?哪一个是正确的并且最受欢迎?它们之间有什么区别?我宁愿使用ifparam[:some_value]因为它最简单也最短。 最佳答案 以下是nil?、blank?和present?

ruby - 如何从可能具有前导零的字符串中解析数字?

在ruby​​中,我正在解析以下格式的日期:24092008。我想将每个部分(年、月、日)转换为数字。我使用正则表达式将它们拆分,生成三个字符串,我将它们传递给Integer构造函数。date=~/^([\d]{2})([\d]{2})([\d]{4})/year=Integer($3)month=Integer($2)day=Integer($1)当它到达月份线时,它崩溃如下:`Integer':invalidvalueforInteger:"09"(ArgumentError)我花了一段时间才意识到它将前导零解释为八进制数,而09不是有效的八进制数(它与“07”一起工作正常)。是否

ruby - 检查数字是否为 NaN

我正在尝试检查我的RubyonRails应用程序中的变量是否等于NaN。我看到了这个answer,但这并不是很有用,因为在我的代码中,如果变量为NaN,我想返回0,否则返回值:return(average.nan?0:average.round(1))问题是如果数字不是NaN我会得到这个错误:NoMethodError:undefinedmethod`nan?'for10:Fixnum我无法检查该数字是否为Float实例,因为它在两种情况下都是(可能,我正在计算平均值)。我能做什么?只有我觉得奇怪的是,检查变量是否等于NaN的函数只对NaN对象可用? 最佳答

ruby - 如何在 Ruby 中检测数组中的重复值?

假设我有一个如下所示的数组:a=[cat,dog,cat,mouse,rat,dog,cat]我如何循环遍历它,并对重复项进行处理-例如说删除它们?换句话说,如果我执行了a.eachdo|i|,我将如何针对a[1]、a[2]、a[3]评估a[0]。..然后当我找到我想要的那个时,说a[2]在这种情况下有第一个副本,然后我将它插入堆栈或删除它或其他东西。我知道如何评估键和值...但是我如何在同一个数组中评估值?谢谢。 最佳答案 您可以创建一个散列来存储任何元素重复的次数。因此只遍历数组一次。h=Hash.new(0)['a','b',

ruby-on-rails - 尽管安装了 therubyracer 和 nodejs,但找不到 JavaScript 运行时

我尝试在CentOS5上运行Rails应用程序并不断收到thiserror:CouldnotfindaJavaScriptruntime.Seehttps://github.com/sstephenson/execjsforalistofavailableruntimes.(ExecJS::RuntimeUnavailable)我同时安装了NodeJS(v0.8.15)和therubyracer(libv8)。这是我的gemlist:***LOCALGEMS***actionmailer(3.2.9,3.2.8)actionpack(3.2.9,3.2.8)activemodel(3.

ruby - 使用\d 扫描字符串中的 Unicode 数字

根据theOnigurumadocumentation,\d字符类型匹配:decimaldigitcharUnicode:General_Category--Decimal_Number但是,在包含所有Decimal_Number字符的字符串中扫描\d会导致仅匹配拉丁文0-9数字:#encoding:utf-8require'open-uri'html=open("http://www.fileformat.info/info/unicode/category/Nd/list.htm").readdigits=html.scan(/U\+([\da-f]{4})/i).flatten.